package entity

import (
	"time"
	"go-api-template/common"
)

type UserReq struct {
	Id          uint64 `json:"id"`          // ID
	Nickname    string `json:"nickname"`    // 昵称
	Username    string `json:"username"`    // 用户名
	Password    string `json:"password"`    // 密码
	Mobile      string `json:"mobile"`      // 手机号
	Email       string `json:"email"`       // 邮箱
	Avatar      string `json:"avatar"`      // 头像
	Status      uint8  `json:"status"`      // 状态
	Remark      string `json:"remark"`      // 备注
	Departments string `json:"departments"` // 所在部门
	Resources    string `json:"resources"`   // 直接权限
}

type UserResp struct {
	UserReq
	CreateAt  time.Time `json:"created_at"` // 创建时间
	UpdatedAt time.Time `json:"updated_at"` // 更新时间
}

type UserPaginationResp struct {
	Pagination common.Pagination `json:"pagination"`
	List       []UserResp        `json:"list"`
}

type UserFilter struct {
	common.BaseFilter
	Ids            string
	Nickname       string
	Username       string
	Mobile         string
	Email          string
	Status         string
	CreatedAtRange string
	UpdatedAtRange string
	Relations      string
}
